package com.ossjk.qlh.system.service;

import com.ossjk.qlh.system.entity.User;
import com.ossjk.qlh.system.vo.UserVo;

import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author chair
 * @since 2020-01-30
 */
public interface IUserService extends IService<User> {

	/**
	 * 获取用户信息，包括角色，部门
	 * 
	 * @return
	 */
	UserVo getInfoById(String id);

	/**
	 * 获取所有用户信息，包括角色，部门
	 * 
	 * @param page
	 * @param queryWrapper
	 * @return
	 */
	Page pageVo(Page page, QueryWrapper<User> queryWrapper);

	/**
	 * 保存用户和用户角色
	 * 
	 * @param userVo
	 * @return
	 */
	boolean saveVo(UserVo userVo);

	/**
	 * 更新用户和用户角色
	 * 
	 * @param userVo
	 * @return
	 */
	boolean updateVo(UserVo userVo);

	/**
	 * 移除用户和用户角色
	 * 
	 * @param userVo
	 * @return
	 */
	boolean removeUserRoleByIds(List<Serializable> ids);

}
